package com.ruoyi.system.service.impl;

import com.ruoyi.common.core.page.PageDomain;
import com.ruoyi.system.domain.SysOperLog;
import com.ruoyi.system.repository.SysOperLogRepository;
import com.ruoyi.system.service.ISysOperLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 操作日志 服务层处理
 *
 * @author ruoyi
 */
@Service
public class SysOperLogServiceImpl implements ISysOperLogService {
	@Autowired
	private SysOperLogRepository operLogRepository;

	/**
	 * 新增操作日志
	 *
	 * @param operLog 操作日志对象
	 */
	@Override
	public void insertOperLog(SysOperLog operLog) {
		operLogRepository.save(operLog);
	}

	/**
	 * 查询系统操作日志集合
	 *
	 * @param operLog 操作日志对象
	 * @return 操作日志集合
	 */
	@Override
	public List<SysOperLog> selectOperLogList(SysOperLog operLog, PageDomain pageDomain) {
		return operLogRepository.selectOperLogList(operLog, pageDomain);
	}

	/**
	 * 批量删除系统操作日志
	 *
	 * @param operIds 需要删除的操作日志ID
	 * @return 结果
	 */
	@Override
	public int deleteOperLogByIds(Long[] operIds) {
		return (int) operLogRepository.deleteOperLogByIds(operIds);
	}

	/**
	 * 查询操作日志详细
	 *
	 * @param operId 操作ID
	 * @return 操作日志对象
	 */
	@Override
	public SysOperLog selectOperLogById(Long operId) {
		return operLogRepository.findById(operId).orElse(null);
	}

	/**
	 * 清空操作日志
	 */
	@Override
	public void cleanOperLog() {
		operLogRepository.deleteAllInBatch();
	}
}
